[INFO] fetching crate codineer-runtime 0.6.8...
[INFO] fixing codineer-runtime-0.6.8 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate codineer-runtime 0.6.8 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate codineer-runtime 0.6.8
[INFO] finished tweaking crates.io crate codineer-runtime 0.6.8
[INFO] tweaked toml for crates.io crate codineer-runtime 0.6.8 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate codineer-runtime 0.6.8 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate codineer-runtime 0.6.8 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 808df4af401dd58ad5be3a7cc1b6cdf2432cfc8c056b9e3e89c6b04d7143fdb1
[INFO] running `Command { std: "docker" "start" "808df4af401dd58ad5be3a7cc1b6cdf2432cfc8c056b9e3e89c6b04d7143fdb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "808df4af401dd58ad5be3a7cc1b6cdf2432cfc8c056b9e3e89c6b04d7143fdb1" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "808df4af401dd58ad5be3a7cc1b6cdf2432cfc8c056b9e3e89c6b04d7143fdb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "808df4af401dd58ad5be3a7cc1b6cdf2432cfc8c056b9e3e89c6b04d7143fdb1" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking webpki-roots v1.0.6
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]     Checking fluent-uri v0.1.4
[INFO] [stderr]     Checking linux-keyutils v0.2.5
[INFO] [stderr]     Checking glob v0.3.3
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking dunce v1.0.5
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking keyring v3.6.3
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking lsp-types v0.97.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking rustls-webpki v0.103.10
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking tungstenite v0.26.2
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking tokio-tungstenite v0.26.2
[INFO] [stderr]     Checking codineer-lsp v0.6.8
[INFO] [stderr]     Checking codineer-runtime v0.6.8 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/credentials/claude_code.rs (14 fixes)
[INFO] [stderr]        Fixed src/prompt.rs (6 fixes)
[INFO] [stderr]        Fixed src/credentials/env_resolver.rs (18 fixes)
[INFO] [stderr]        Fixed src/file_ops.rs (1 fix)
[INFO] [stderr]        Fixed src/oauth.rs (2 fixes)
[INFO] [stderr]        Fixed src/credentials/oauth_resolver.rs (8 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/mcp_remote.rs:248:38
[INFO] [stdout]     |
[INFO] [stdout] 248 |           if let (Ok(name), Ok(val)) = (
[INFO] [stdout]     |  ______________________________________^
[INFO] [stdout] 249 | |             HeaderName::from_bytes(key.as_bytes()),
[INFO] [stdout] 250 | |             HeaderValue::from_str(value),
[INFO] [stdout] 251 | |         ) {
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 252 |               header_map.insert(name, val);
[INFO] [stdout]     |               ----------------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 253 |           }
[INFO] [stdout] 254 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/mcp_remote.rs:267:31
[INFO] [stdout]     |
[INFO] [stdout] 267 |         if let Ok(response) = serde_json::from_str::<JsonRpcResponse<T>>(data) {
[INFO] [stdout]     |                   --------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |           |
[INFO] [stdout]     |                   |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `response` calls a custom destructor
[INFO] [stdout]     |                   `response` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 272 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/oauth.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 277 |     let Some(entry) = keyring_entry() else {
[INFO] [stdout]     |              -----
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `entry` calls a custom destructor
[INFO] [stdout]     |              `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 284 |     entry.set_password(&json).is_ok()
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 285 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `entry` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/mcp_remote.rs:248:38
[INFO] [stdout]     |
[INFO] [stdout] 248 |           if let (Ok(name), Ok(val)) = (
[INFO] [stdout]     |  ______________________________________^
[INFO] [stdout] 249 | |             HeaderName::from_bytes(key.as_bytes()),
[INFO] [stdout] 250 | |             HeaderValue::from_str(value),
[INFO] [stdout] 251 | |         ) {
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 252 |               header_map.insert(name, val);
[INFO] [stdout]     |               ----------------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 253 |           }
[INFO] [stdout] 254 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/mcp_remote.rs:267:31
[INFO] [stdout]     |
[INFO] [stdout] 267 |         if let Ok(response) = serde_json::from_str::<JsonRpcResponse<T>>(data) {
[INFO] [stdout]     |                   --------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |           |
[INFO] [stdout]     |                   |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `response` calls a custom destructor
[INFO] [stdout]     |                   `response` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 272 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/oauth.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 277 |     let Some(entry) = keyring_entry() else {
[INFO] [stdout]     |              -----
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `entry` calls a custom destructor
[INFO] [stdout]     |              `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 284 |     entry.set_password(&json).is_ok()
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 285 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `entry` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.77s
[INFO] [stderr] crater-edition-check: codineer-runtime v0.6.8 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking codineer-runtime v0.6.8 (/opt/rustwide/workdir)
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/claude_code.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |         unsafe { std::env::set_var("HOME", "/nonexistent-test-dir-12345") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-F unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/claude_code.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |         unsafe { std::env::remove_var("USERPROFILE") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/claude_code.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 |             unsafe { std::env::set_var("HOME", home) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/claude_code.rs:201:13
[INFO] [stdout]     |
[INFO] [stdout] 201 |             unsafe { std::env::set_var("USERPROFILE", profile) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/claude_code.rs:216:9
[INFO] [stdout]     |
[INFO] [stdout] 216 |         unsafe { std::env::set_var("HOME", &tmp) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/claude_code.rs:227:13
[INFO] [stdout]     |
[INFO] [stdout] 227 |             unsafe { std::env::set_var("HOME", home) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/claude_code.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         unsafe { std::env::set_var("HOME", &tmp) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/claude_code.rs:247:13
[INFO] [stdout]     |
[INFO] [stdout] 247 |             unsafe { std::env::set_var("HOME", home) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/claude_code.rs:266:9
[INFO] [stdout]     |
[INFO] [stdout] 266 |         unsafe { std::env::set_var("HOME", &tmp) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/claude_code.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 |             unsafe { std::env::set_var("HOME", home) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/claude_code.rs:293:9
[INFO] [stdout]     |
[INFO] [stdout] 293 |         unsafe { std::env::set_var("HOME", &tmp) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/claude_code.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |             unsafe { std::env::set_var("HOME", home) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/claude_code.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |         unsafe { std::env::set_var("HOME", &tmp) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/claude_code.rs:324:13
[INFO] [stdout]     |
[INFO] [stdout] 324 |             unsafe { std::env::set_var("HOME", home) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/env_resolver.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         unsafe { std::env::set_var("ANTHROPIC_API_KEY", "sk-test") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/env_resolver.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         unsafe { std::env::remove_var("ANTHROPIC_AUTH_TOKEN") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/env_resolver.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |         unsafe { std::env::remove_var("ANTHROPIC_API_KEY") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/env_resolver.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         unsafe { std::env::set_var("ANTHROPIC_API_KEY", "sk-key") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/env_resolver.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |         unsafe { std::env::set_var("ANTHROPIC_AUTH_TOKEN", "bearer-tok") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/env_resolver.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         unsafe { std::env::remove_var("ANTHROPIC_API_KEY") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/env_resolver.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         unsafe { std::env::remove_var("ANTHROPIC_AUTH_TOKEN") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/env_resolver.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |         unsafe { std::env::remove_var("ANTHROPIC_API_KEY") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/env_resolver.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 151 |         unsafe { std::env::remove_var("ANTHROPIC_AUTH_TOKEN") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/env_resolver.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |         unsafe { std::env::remove_var("ANTHROPIC_API_KEY") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/env_resolver.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 163 |         unsafe { std::env::set_var("ANTHROPIC_AUTH_TOKEN", "tok") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/env_resolver.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |         unsafe { std::env::remove_var("ANTHROPIC_AUTH_TOKEN") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/env_resolver.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |         unsafe { std::env::set_var("ANTHROPIC_API_KEY", "") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/env_resolver.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |         unsafe { std::env::set_var("ANTHROPIC_AUTH_TOKEN", "") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/env_resolver.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 185 |         unsafe { std::env::remove_var("ANTHROPIC_API_KEY") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/env_resolver.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |         unsafe { std::env::remove_var("ANTHROPIC_AUTH_TOKEN") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/env_resolver.rs:194:9
[INFO] [stdout]     |
[INFO] [stdout] 194 |         unsafe { std::env::set_var("XAI_API_KEY", "xai-test") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/env_resolver.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |         unsafe { std::env::remove_var("XAI_API_KEY") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/oauth_resolver.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |         unsafe { std::env::set_var("CODINEER_CONFIG_HOME", &config_home) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/oauth_resolver.rs:182:9
[INFO] [stdout]     |
[INFO] [stdout] 182 |         unsafe { std::env::remove_var("CODINEER_CONFIG_HOME") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/oauth_resolver.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |         unsafe { std::env::set_var("CODINEER_CONFIG_HOME", &config_home) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/oauth_resolver.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |         unsafe { std::env::remove_var("CODINEER_CONFIG_HOME") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/oauth_resolver.rs:221:9
[INFO] [stdout]     |
[INFO] [stdout] 221 |         unsafe { std::env::set_var("CODINEER_CONFIG_HOME", &config_home) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/oauth_resolver.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |         unsafe { std::env::remove_var("CODINEER_CONFIG_HOME") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/oauth_resolver.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         unsafe { std::env::set_var("CODINEER_CONFIG_HOME", &config_home) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/credentials/oauth_resolver.rs:264:9
[INFO] [stdout]     |
[INFO] [stdout] 264 |         unsafe { std::env::remove_var("CODINEER_CONFIG_HOME") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/file_ops.rs:606:9
[INFO] [stdout]     |
[INFO] [stdout] 606 |         unsafe { std::env::set_var("CODINEER_WORKSPACE_ROOT", ws) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/oauth.rs:615:9
[INFO] [stdout]     |
[INFO] [stdout] 615 |         unsafe { std::env::set_var("CODINEER_CONFIG_HOME", &config_home) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/oauth.rs:647:9
[INFO] [stdout]     |
[INFO] [stdout] 647 |         unsafe { std::env::remove_var("CODINEER_CONFIG_HOME") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/prompt.rs:744:9
[INFO] [stdout]     |
[INFO] [stdout] 744 |         unsafe { std::env::set_var("HOME", &root) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/prompt.rs:746:9
[INFO] [stdout]     |
[INFO] [stdout] 746 |         unsafe { std::env::set_var("CODINEER_CONFIG_HOME", root.join("missing-home")) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/prompt.rs:758:13
[INFO] [stdout]     |
[INFO] [stdout] 758 |             unsafe { std::env::set_var("HOME", value) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/prompt.rs:761:13
[INFO] [stdout]     |
[INFO] [stdout] 761 |             unsafe { std::env::remove_var("HOME") };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/prompt.rs:765:13
[INFO] [stdout]     |
[INFO] [stdout] 765 |             unsafe { std::env::set_var("CODINEER_CONFIG_HOME", value) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/prompt.rs:768:13
[INFO] [stdout]     |
[INFO] [stdout] 768 |             unsafe { std::env::remove_var("CODINEER_CONFIG_HOME") };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `codineer-runtime` (lib test) due to 49 previous errors
[INFO] running `Command { std: "docker" "inspect" "808df4af401dd58ad5be3a7cc1b6cdf2432cfc8c056b9e3e89c6b04d7143fdb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "808df4af401dd58ad5be3a7cc1b6cdf2432cfc8c056b9e3e89c6b04d7143fdb1", kill_on_drop: false }`
[INFO] [stdout] 808df4af401dd58ad5be3a7cc1b6cdf2432cfc8c056b9e3e89c6b04d7143fdb1
